
// 请求服务器地址
//const baseURL = "http://101.43.223.224:8188"
//const baseURL = "http://127.0.0.1:8188"
const baseURL = "http://shuzisan.suguang.cc:8188"
// 向外暴露一个方法 myRequest"/user/login": "/phone/login"
let AUTH_WHITELIST = ['/sysUser/getRegisterCode','/sysUser/registerUser','/user/login','/phone/login'] // 这里是不需要携带token的请求地址
export const myRequest = (options) => {
	//加载loading
	// uni.showLoading({
	// 	title:'加载中'
	// })
	return new Promise((resolve, reject) => {
		const isToken = (options.header || {}).isToken === false
		if (!isToken&&!AUTH_WHITELIST.includes(options.url)) {
			options['header'] = {
				'Authorization': uni.getStorageSync('token')
			}
		}
		// get请求映射params参数
		// if (options.method === 'get' && options.params) {
		// 	let url = options.url + '?' + tansParams(options.params);
		// 	url = url.slice(0, -1);
		// 	options.params = {};
		// 	options.url = url;
		// }
		uni.request({
			// 开发者服务器接口地址（请求服务器地址 + 具体接口名）
			url: baseURL + options.url,
			// 请求方式（若不传，则默认为 GET ）
			method: options.method || 'GET',
			// 请求设置header信息
			// 将token存入request请求
			header: options.headers || {
				...options.header,
				'Content-Type': 'application/json;charset=UTF-8;',
				 'X-Ignore-Token': true
			},
			// 请求参数（若不传，则默认为 {} ）
			data: options.data || {},
			// 请求成功
			success: (res) => {
				let errCode = 0
				if(res.data!=null && res.data.data!=null && res.data.data.errCode!=null){
					errCode = res.data.data.errCode
				}
				// 未设置状态码则默认成功状态
				const code = res.data.code || 200;
				if (errCode === 20011 || code === 20003) {
					uni.showToast({
						title: '登录状态已过期，请重新登录！'
					})
					setTimeout(function() {
						uni.redirectTo({
							url: '/pages/login/login',
						})
					},500)
				} else if (res.data.flag) {
					resolve(res.data);
				} else {
					resolve(res.data);
				}
				// // 未设置状态码则默认成功状态
				// resolve(res.data);
			},
			// 请求失败
			fail: (err) => {
				uni.showToast({
					title: '请求接口失败！'
				})
				reject(err)
			},
			//请求结束之后，执行的回调函数（成功或失败都会执行）
			complete() {
				//隐藏loading
				uni.hideLoading()
			}
		})
	})
}
 